<?php

/**
 * Producto form.
 *
 * @package    zing
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class ProductoForm extends BaseProductoForm
{
  public function configure()
  {
      unset($this['updated_at']);
      unset($this['created_at']);
      unset($this['pertenece_a_list']);
      $this->widgetSchema['nombre']->setLabel('Nombre');
      $this->widgetSchema['unidadMedida']->setLabel('Unidad de Medida');
      $this->widgetSchema['cantidadMinima']->setLabel('Cantidad Minima');
      $this->widgetSchema['precioUnidad']->setLabel('Precio Unidad');
      $this->widgetSchema['datosAdicionales']->setLabel('Datos Adicionales');
      $this->widgetSchema['trabajos_list']->setLabel('Lista de Trabajos');
      
      unset($this['trabajos_list']);
      
      
      
        $subForm = new sfForm();

        $j = -1;
        
        if(!$this->isNew())
        {
            $listaProductoTrabajos = $this->getObject()->getProductoTrabajos();
            foreach ($listaProductoTrabajos as $productoTrabajo)
                {
                    $j++;
                    
                    $form = new productoTrabajoForm($productoTrabajo);

                    $subForm->embedForm($j, $form);

                }
        }

        $max = 10;

        for ($i = $j + 1; $i < $max; $i++)
         {
           $productoTrabajo = new ProductoTrabajo();
           $productoTrabajo->Producto=$this->getObject();//$this->getObject());
           $form = new productoTrabajoForm($productoTrabajo);//$pedidoProducto);
           
           $subForm->embedForm($i, $form);
         }

         $this->embedForm('prod_trabajo', $subForm);
      
  }
  
  
    public function doSave($con = null) 
    {
             

        
        $forms = $this->embeddedForms['prod_trabajo']->embeddedForms;

        $listaProductoTrabajos = $this->values['prod_trabajo'];
        foreach($listaProductoTrabajos as $k => $productoTrabajo)
        {
            if(($productoTrabajo['cantidad']=="0") and $forms[$k]->isNew())
            {
                unset($this->embeddedForms['prod_trabajo']->embeddedForms[$k]); 
                unset($this->values['prod_trabajo'][$k]); 
                unset($this->taintedValues['prod_trabajo'][$k]); 
            }    
//            }else
//            {
//                $this->embeddedForms['pedido_prod']->embeddedForms[$k]->getObject()->Pedido=$this->getObject();
//            }
            
        }
        
        parent::doSave($con);

        
        $listaProductoTrabajos = $this->getObject()->getProductoTrabajos();
        foreach ($listaProductoTrabajos as $productoTrabajo)
            {
                if($productoTrabajo->getCantidad()==0)
                {
                    $productoTrabajo->delete();
                }
            }        

    }
  
}
